package com.ztorn.fiscale.mapper;

import java.util.List;
import com.ztorn.fiscale.domain.FiscaleRefundBatchDetail;

/**
 * 退税申报明细Mapper接口
 * 
 * @author ztorn
 * @date 2025-09-20
 */
public interface FiscaleRefundBatchDetailMapper 
{
    /**
     * 查询退税申报明细
     * 
     * @param detailId 退税申报明细主键
     * @return 退税申报明细
     */
    public FiscaleRefundBatchDetail selectFiscaleRefundBatchDetailById(Long detailId);

    /**
     * 查询退税申报明细列表
     * 
     * @param fiscaleRefundBatchDetail 退税申报明细
     * @return 退税申报明细集合
     */
    public List<FiscaleRefundBatchDetail> selectFiscaleRefundBatchDetailList(FiscaleRefundBatchDetail fiscaleRefundBatchDetail);

    /**
     * 新增退税申报明细
     * 
     * @param fiscaleRefundBatchDetail 退税申报明细
     * @return 结果
     */
    public int insertFiscaleRefundBatchDetail(FiscaleRefundBatchDetail fiscaleRefundBatchDetail);

    /**
     * 修改退税申报明细
     * 
     * @param fiscaleRefundBatchDetail 退税申报明细
     * @return 结果
     */
    public int updateFiscaleRefundBatchDetail(FiscaleRefundBatchDetail fiscaleRefundBatchDetail);

    /**
     * 删除退税申报明细
     * 
     * @param detailId 退税申报明细主键
     * @return 结果
     */
    public int deleteFiscaleRefundBatchDetailById(Long detailId);

    /**
     * 批量删除退税申报明细
     * 
     * @param detailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFiscaleRefundBatchDetailByIds(Long[] detailIds);
    
    /**
     * 根据批次ID查询退税申报明细列表
     * 
     * @param batchId 批次ID
     * @return 退税申报明细集合
     */
    public List<FiscaleRefundBatchDetail> selectFiscaleRefundBatchDetailListByBatchId(Long batchId);
    
    /**
     * 根据配单ID查询退税申报明细
     * 
     * @param matchingId 配单ID
     * @return 退税申报明细
     */
    public FiscaleRefundBatchDetail selectFiscaleRefundBatchDetailByMatchingId(Long matchingId);
}